Digital signature schemes commonly apply encoding processes to data prior to signing a message to ensure that the data conforms to a pre-chosen alphabet to which the scheme applies. For example, a standard RSA algorithm using a key 3-tuple of <N, e, d> first converts each symbol to a corresponding value between 0 and N. Other encoding schemes may be used for different sets of input values to enable signature schemes that exploit various mathematical properties of the values in the input value set.
After encoding, the encoded values are used to create a signature for transmission. Some encryption algorithms, such as RSA, utilize a modular exponentiation function to create such a signature. As an example RSA processes an encoded value a using the private key pair <N, d> by computing ad mod N. RSA would then verify the signature value, b, using the public key pair <N, e> by first computing be mod N. A decoding function is then applied to the resulting value to retrieve the original value.